package com.neuedu.web.controller;

import com.neuedu.web.common.BaseMethodController;
import com.neuedu.web.po.CheckApplyPO;
import com.neuedu.web.po.InspectApplyPO;
import com.neuedu.web.po.RegisterPO;
import com.neuedu.web.service.DoctorService;
import com.neuedu.web.vo.DeptVO;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.InvocationTargetException;
import java.util.List;


/**
 * @author 金山
 * 项目：his
 * site: https://blog.fulfill.com.cn
 * 描述  Dept接口
 * @data 2024-11-21 14:21:592
 */
@WebServlet(urlPatterns = "/doctor/*")
public class DoctorController extends BaseMethodController {

    private DoctorService doctorService = new DoctorService();

    public List<RegisterPO> queryRegister(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.queryRegister(request, response);
    }


    /**
     * 问诊的
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean inquiry(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.inquiry(request, response);
    }


    public RegisterPO queryRegisterInfo(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.queryRegisterInfo(request, response);
    }


    /**
     * 申请检查项目
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean checkApply(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.checkApply(request, response);
    }


    /**
     * 根据患者 id 查询 已申请的 检查项目
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public List<CheckApplyPO> queryCheckApplyByRegisterId(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.queryCheckApplyByRegisterId(request, response);
    }


    /**
     * 医生操作  已申请 未交费的项目  删除
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean removeCheckApplayItem(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
        return doctorService.removeCheckApplayItem(request, response);
    }
















    /**
     * 申请检查项目
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean inspectApply(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.inspectApply(request, response);
    }


    /**
     * 根据患者 id 查询 已申请的 检查项目
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public List<InspectApplyPO> queryInspectApplyByRegisterId(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.queryInspectApplyByRegisterId(request, response);
    }


    /**
     * 医生操作  已申请 未交费的项目  删除
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean removeInspectApplayItem(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
        return doctorService.removeInspectApplayItem(request, response);
    }


    /**
     * 执行诊断
     * @param request
     * @param response
     * @return
     * @throws NoSuchFieldException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    public boolean sure(HttpServletRequest request , HttpServletResponse response) throws NoSuchFieldException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        return doctorService.sure(request, response);
    }



}
